@@ -50,7 +50,13 @@ class AgentsController < ApplicationController |
||
| 50 | 50 |
agent.name ||= '(Untitled)' |
| 51 | 51 |
|
| 52 | 52 |
if agent.valid? |
| 53 |
- results = agent.dry_run! |
|
| 53 |
+ if event_payload = params[:event] |
|
| 54 |
+ dummy_agent = Agent.build_for_type('ManualEventAgent', current_user, name: 'Dry-Runner')
|
|
| 55 |
+ dummy_agent.readonly! |
|
| 56 |
+ event = dummy_agent.events.build(user: current_user, payload: event_payload) |
|
| 57 |
+ end |
|
| 58 |
+ |
|
| 59 |
+ results = agent.dry_run!(event) |
|
| 54 | 60 |
|
| 55 | 61 |
render json: {
|
| 56 | 62 |
log: results[:log], |
@@ -377,6 +377,19 @@ describe AgentsController do |
||
| 377 | 377 |
[users(:bob).agents.count, users(:bob).events.count, users(:bob).logs.count, agent.name, agent.updated_at] |
| 378 | 378 |
} |
| 379 | 379 |
end |
| 380 |
+ |
|
| 381 |
+ it "accepts an event" do |
|
| 382 |
+ sign_in users(:bob) |
|
| 383 |
+ agent = agents(:bob_website_agent) |
|
| 384 |
+ url_from_event = "http://xkcd.com/?from_event=1".freeze |
|
| 385 |
+ expect {
|
|
| 386 |
+ post :dry_run, id: agent, event: { url: url_from_event }
|
|
| 387 |
+ }.not_to change {
|
|
| 388 |
+ [users(:bob).agents.count, users(:bob).events.count, users(:bob).logs.count, agent.name, agent.updated_at] |
|
| 389 |
+ } |
|
| 390 |
+ json = JSON.parse(response.body) |
|
| 391 |
+ expect(json['log']).to match(/^I, .* : Fetching #{Regexp.quote(url_from_event)}$/)
|
|
| 392 |
+ end |
|
| 380 | 393 |
end |
| 381 | 394 |
|
| 382 | 395 |
describe "DELETE memory" do |